const { baseUrl } = require("../config");

/* 提起URL的完整信息 */
function getUrlInfo(req) {
  // 拼接完整地址 构造URL对象：
  // http://localhost:8001/getUrlInfo?name=heige&pwd=123456#abc
  const urlInfo = new URL(baseUrl + req.url);

  /* 提取所有查询参数 */
  const obj = {};
  Array.from(urlInfo.searchParams.keys()).forEach(
    (key) => (obj[key] = urlInfo.searchParams.get(key))
  );

  return {
    // 协议
    protocol: urlInfo.protocol,

    // 域名
    hostname: urlInfo.hostname,

    // 端口
    port: urlInfo.port,

    // 路径
    pathname: urlInfo.pathname,

    // 查询参数字符串 ?name=heige&pwd=123456
    search: urlInfo.search,

    // 查询参数形成的对象
    searchParams: obj,
  };
}

module.exports = {
  getUrlInfo,
};
